\hypertarget{class_lib_u_s_b_1_1_device_impl}{\section{Lib\-U\-S\-B\-:\-:Device\-Impl Class Reference}
\label{class_lib_u_s_b_1_1_device_impl}\index{Lib\-U\-S\-B\-::\-Device\-Impl@{Lib\-U\-S\-B\-::\-Device\-Impl}}
}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_a115cb08feaa8115ea5460fd1043364d9}{{\bfseries Device\-Impl} (libusb\-\_\-device $\ast$p\-Device)}\label{class_lib_u_s_b_1_1_device_impl_a115cb08feaa8115ea5460fd1043364d9}

\item 
\hyperlink{class_lib_u_s_b_1_1_device_impl_afa50228d3c4c532fef55e7449a051ea9}{$\sim$\-Device\-Impl} ()
\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_ac2920f6e16a26937e7a49279101a0e6d}{std\-::shared\-\_\-ptr\\*
$<$ libusb\-\_\-device\-\_\-descriptor $>$ \hyperlink{class_lib_u_s_b_1_1_device_impl_ac2920f6e16a26937e7a49279101a0e6d}{get\-Device\-Descriptor} ()}\label{class_lib_u_s_b_1_1_device_impl_ac2920f6e16a26937e7a49279101a0e6d}

\begin{DoxyCompactList}\small\item\em Obtains the device descriptor. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_a3a445a7a506079244e8dfc77f8e5d226}{bool \hyperlink{class_lib_u_s_b_1_1_device_impl_a3a445a7a506079244e8dfc77f8e5d226}{is\-Open} () const }\label{class_lib_u_s_b_1_1_device_impl_a3a445a7a506079244e8dfc77f8e5d226}

\begin{DoxyCompactList}\small\item\em Returns T\-R\-U\-E if the device is open. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_a4464680f5742d789c14ecc30ea62edc8}{void \hyperlink{class_lib_u_s_b_1_1_device_impl_a4464680f5742d789c14ecc30ea62edc8}{Open} ()}\label{class_lib_u_s_b_1_1_device_impl_a4464680f5742d789c14ecc30ea62edc8}

\begin{DoxyCompactList}\small\item\em Opens a handle to the usb device. \end{DoxyCompactList}\item 
uint16\-\_\-t \hyperlink{class_lib_u_s_b_1_1_device_impl_a8a7e52a87e4e31e897c76e2c6252a580}{get\-Lang\-Id} ()
\begin{DoxyCompactList}\small\item\em Obtains the language id. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_a24069e81e1ea172365da7623e1a6fa43}{std\-::string \hyperlink{class_lib_u_s_b_1_1_device_impl_a24069e81e1ea172365da7623e1a6fa43}{get\-String\-Descriptor} (uint8\-\_\-t index)}\label{class_lib_u_s_b_1_1_device_impl_a24069e81e1ea172365da7623e1a6fa43}

\begin{DoxyCompactList}\small\item\em Obtains the given ascii descriptor string. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_ac068f020ebc2ca18d0ba71b1614bbfef}{std\-::wstring \hyperlink{class_lib_u_s_b_1_1_device_impl_ac068f020ebc2ca18d0ba71b1614bbfef}{get\-String\-Descriptor\-W} (uint8\-\_\-t index)}\label{class_lib_u_s_b_1_1_device_impl_ac068f020ebc2ca18d0ba71b1614bbfef}

\begin{DoxyCompactList}\small\item\em Obtains a unicode descriptor string. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_af111e332381a0c1483dde061f6d1c7b9}{bool \hyperlink{class_lib_u_s_b_1_1_device_impl_af111e332381a0c1483dde061f6d1c7b9}{get\-Active\-Configuration} (uint8\-\_\-t \&index) const }\label{class_lib_u_s_b_1_1_device_impl_af111e332381a0c1483dde061f6d1c7b9}

\begin{DoxyCompactList}\small\item\em Returns the index of the active configuration. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_abeec3c40a76f6faefb2056be8dc8035b}{void \hyperlink{class_lib_u_s_b_1_1_device_impl_abeec3c40a76f6faefb2056be8dc8035b}{set\-Active\-Configuration} (uint8\-\_\-t index)}\label{class_lib_u_s_b_1_1_device_impl_abeec3c40a76f6faefb2056be8dc8035b}

\begin{DoxyCompactList}\small\item\em Sets the active configuration. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_aab2f41857ad040c218e845c8ad08d420}{std\-::shared\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_configuration}{Configuration} $>$ \hyperlink{class_lib_u_s_b_1_1_device_impl_aab2f41857ad040c218e845c8ad08d420}{get\-Configuration} (uint8\-\_\-t Config\-Value)}\label{class_lib_u_s_b_1_1_device_impl_aab2f41857ad040c218e845c8ad08d420}

\begin{DoxyCompactList}\small\item\em Returns the requested the configuration descriptor. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_a0968082ea56c3f4e393f75255a6ee463}{std\-::weak\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_device}{Device} $>$ \hyperlink{class_lib_u_s_b_1_1_device_impl_a0968082ea56c3f4e393f75255a6ee463}{get\-Device} () const }\label{class_lib_u_s_b_1_1_device_impl_a0968082ea56c3f4e393f75255a6ee463}

\begin{DoxyCompactList}\small\item\em Returns the Lib\-U\-S\-B++ device object/owner. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_a1dfb67b1c9f691beb15d0f0f7c19b8a5}{void \hyperlink{class_lib_u_s_b_1_1_device_impl_a1dfb67b1c9f691beb15d0f0f7c19b8a5}{set\-Parent\-Device} (std\-::weak\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_device}{Device} $>$ p\-Parent\-Device)}\label{class_lib_u_s_b_1_1_device_impl_a1dfb67b1c9f691beb15d0f0f7c19b8a5}

\begin{DoxyCompactList}\small\item\em Allows device to set the parent device after initial construction. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_ada72c87f33e85138eb0b4155b46050ac}{std\-::shared\-\_\-ptr$<$ \hyperlink{class_lib_u_s_b_1_1_endpoint}{Endpoint} $>$ \hyperlink{class_lib_u_s_b_1_1_device_impl_ada72c87f33e85138eb0b4155b46050ac}{get\-Control\-Endpoint} ()}\label{class_lib_u_s_b_1_1_device_impl_ada72c87f33e85138eb0b4155b46050ac}

\begin{DoxyCompactList}\small\item\em Returns endpoint 0. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_afa977f8464bbb6a66e0c524cdd6c6370}{std\-::shared\-\_\-ptr$<$ libusb\-\_\-device $>$ \hyperlink{class_lib_u_s_b_1_1_device_impl_afa977f8464bbb6a66e0c524cdd6c6370}{m\-\_\-p\-Device}}\label{class_lib_u_s_b_1_1_device_impl_afa977f8464bbb6a66e0c524cdd6c6370}

\begin{DoxyCompactList}\small\item\em \hyperlink{class_lib_u_s_b_1_1_device}{Device} object. \end{DoxyCompactList}\item 
\hypertarget{class_lib_u_s_b_1_1_device_impl_ab0cee10d5b15c539f88998c22245cd05}{std\-::shared\-\_\-ptr\\*
$<$ libusb\-\_\-device\-\_\-handle $>$ \hyperlink{class_lib_u_s_b_1_1_device_impl_ab0cee10d5b15c539f88998c22245cd05}{m\-\_\-p\-Handle}}\label{class_lib_u_s_b_1_1_device_impl_ab0cee10d5b15c539f88998c22245cd05}

\begin{DoxyCompactList}\small\item\em \hyperlink{class_lib_u_s_b_1_1_device}{Device} handle. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_lib_u_s_b_1_1_device_impl_afa50228d3c4c532fef55e7449a051ea9}{\index{Lib\-U\-S\-B\-::\-Device\-Impl@{Lib\-U\-S\-B\-::\-Device\-Impl}!$\sim$\-Device\-Impl@{$\sim$\-Device\-Impl}}
\index{$\sim$\-Device\-Impl@{$\sim$\-Device\-Impl}!LibUSB::DeviceImpl@{Lib\-U\-S\-B\-::\-Device\-Impl}}
\subsubsection[{$\sim$\-Device\-Impl}]{\setlength{\rightskip}{0pt plus 5cm}Lib\-U\-S\-B\-::\-Device\-Impl\-::$\sim$\-Device\-Impl (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_lib_u_s_b_1_1_device_impl_afa50228d3c4c532fef55e7449a051ea9}
\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000001}{Todo}]Release all claimed interfaces here. \end{DoxyRefDesc}


\subsection{Member Function Documentation}
\hypertarget{class_lib_u_s_b_1_1_device_impl_a8a7e52a87e4e31e897c76e2c6252a580}{\index{Lib\-U\-S\-B\-::\-Device\-Impl@{Lib\-U\-S\-B\-::\-Device\-Impl}!get\-Lang\-Id@{get\-Lang\-Id}}
\index{get\-Lang\-Id@{get\-Lang\-Id}!LibUSB::DeviceImpl@{Lib\-U\-S\-B\-::\-Device\-Impl}}
\subsubsection[{get\-Lang\-Id}]{\setlength{\rightskip}{0pt plus 5cm}uint16\-\_\-t Lib\-U\-S\-B\-::\-Device\-Impl\-::get\-Lang\-Id (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_lib_u_s_b_1_1_device_impl_a8a7e52a87e4e31e897c76e2c6252a580}


Obtains the language id. 

\begin{DoxyNote}{Note}
This descriptor is described here\-: \href{http://www.beyondlogic.org/usbnutshell/usb5.shtml}{\tt http\-://www.\-beyondlogic.\-org/usbnutshell/usb5.\-shtml} 
\end{DoxyNote}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
src/deviceimpl.\-h\item 
src/deviceimpl.\-cpp\end{DoxyCompactItemize}
